Security News
vlt Debuts New JavaScript Package Manager and Serverless Registry at NodeConf EU
vlt introduced its new package manager and a serverless registry this week, innovating in a space where npm has stagnated.
The 'bytes' npm package is a utility for parsing and formatting byte sizes. It allows users to easily convert between different units of bytes and parse strings with byte size information into numbers. It is useful for displaying file sizes in a human-readable format or for parsing user input into byte quantities.
Parse byte size strings
This feature allows you to parse a string representing a byte size into an integer number of bytes. For example, passing '1000KB' will return 1000000.
"1000KB" // returns 1000000
Format bytes into strings
This feature allows you to format an integer number of bytes into a string with a unit. For example, passing 1024 will return '1KB'.
1024 // returns '1KB'
Specify the number of decimal places
This feature allows you to specify the number of decimal places when formatting bytes into a string. For example, passing an object with 1000 bytes and 1 decimal place will return '1.0KB'.
{ bytes: 1000, decimalPlaces: 1 } // returns '1.0KB'
Specify the unit of bytes
This feature allows you to specify the unit when formatting bytes. For example, passing an object with 1024 bytes and 'kB' as the unit will return '1kB'.
{ bytes: 1024, unit: 'kB' } // returns '1kB'
The 'filesize' package provides similar functionality to 'bytes' by allowing users to convert byte amounts into human-readable strings. It offers more options for customization, such as setting the base, standard (SI or IEC), rounding method, and partials.
The 'pretty-bytes' package is another alternative to 'bytes' that converts byte values into a human-readable format. It supports negative numbers, localization, and can automatically choose the appropriate unit.
Utility to parse a string bytes (ex: 1TB
) to bytes (1099511627776
) and vice-versa.
var bytes = require('bytes');
Format the given value in bytes into a string. If the value is negative, it is kept as such. If it is a float, it is rounded.
Arguments
Name | Type | Description |
---|---|---|
value | number | Value in bytes |
options | Object | Conversion options |
Options
Property | Type | Description |
---|---|---|
decimalPlaces | number |null | Maximum number of decimal places to include in output. Default value to 2 . |
fixedDecimals | boolean |null | Whether to always display the maximum number of decimal places. Default value to false |
thousandsSeparator | string |null | Example of values: ' ' , ',' and . ... Default value to '' . |
unit | string |null | The unit in which the result will be returned (B/kB/MB/GB/TB). Default value to '' (which means auto detect). |
unitSeparator | string |null | Separator to use between number and unit. Default value to '' . |
Returns
Name | Type | Description |
---|---|---|
results | string |null | Return null upon error. String value otherwise. |
Example
bytes(1024);
// output: '1kB'
bytes(1000);
// output: '1000B'
bytes(1000, {thousandsSeparator: ' '});
// output: '1 000B'
bytes(1024 * 1.7, {decimalPlaces: 0});
// output: '2kB'
bytes(1024, {unitSeparator: ' '});
// output: '1 kB'
Parse the string value into an integer in bytes. If no unit is given, or value
is a number, it is assumed the value is in bytes.
Supported units and abbreviations are as follows and are case-insensitive:
b
for byteskb
for kilobytesmb
for megabytesgb
for gigabytestb
for terabytesThe units are in powers of two, not ten. This means 1kb = 1024b according to this parser.
Arguments
Name | Type | Description |
---|---|---|
value | string |number | String to parse, or number in bytes. |
Returns
Name | Type | Description |
---|---|---|
results | number |null | Return null upon error. Value in bytes otherwise. |
Example
bytes('1kB');
// output: 1024
bytes('1024');
// output: 1024
bytes(1024);
// output: 1024
npm install bytes --save
component install visionmedia/bytes.js
FAQs
Utility to parse a string bytes to bytes and vice-versa
The npm package bytes receives a total of 48,414,276 weekly downloads. As such, bytes popularity was classified as popular.
We found that bytes demonstrated a not healthy version release cadence and project activity because the last version was released a year ago. It has 2 open source maintainers collaborating on the project.
Did you know?
Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.
Security News
vlt introduced its new package manager and a serverless registry this week, innovating in a space where npm has stagnated.
Security News
Research
The Socket Research Team uncovered a malicious Python package typosquatting the popular 'fabric' SSH library, silently exfiltrating AWS credentials from unsuspecting developers.
Security News
At its inaugural meeting, the JSR Working Group outlined plans for an open governance model and a roadmap to enhance JavaScript package management.